package com.iplant.basic.service.basicenum.crm;

import com.iplant.base.po.enums.BaseEnum;

/**
 * 客户等级
 *
 * @author YouWang·Peng
 * 2023-7-23 09:02:24
 */
public enum CRMCustomerGrade implements BaseEnum {
    /**
     * 默认
     */
    Default(0, "默认"),
    /**
     * 一级
     */
    One(1, "Ⅰ"),
    /**
     * 二级
     */
    Two(2, "Ⅱ"),
    /**
     * 三级
     */
    Three(3, "Ⅲ");

    private int value;
    private String label;
    private String remark;

    CRMCustomerGrade(int value, String label) {
        this.value = value;
        this.label = label;
    }

    CRMCustomerGrade(int value, String label, String remark) {
        this.value = value;
        this.label = label;
        this.remark = remark;
    }

    /**
     * 通过 value 的数值获取枚举实例
     *
     * @param val
     * @return
     */
    public static CRMCustomerGrade getEnumType(int val) {
        for (CRMCustomerGrade type : CRMCustomerGrade.values()) {
            if (type.getValue() == val) {
                return type;
            }
        }
        return Default;
    }

    @Override
    public int getValue() {
        return value;
    }

    @Override
    public void setValue(int value) {
        this.value = value;
    }

    @Override
    public String getLabel() {
        return label;
    }

    @Override
    public void setLabel(String label) {
        this.label = label;
    }

    @Override
    public String getRemark() {
        return remark;
    }

    @Override
    public void setRemark(String remark) {
        this.remark = remark;
    }
}